sendSEIMessage method Null safety

Future<int?> sendSEIMessage(
  1. {StreamIndex streamIndex = StreamIndex.main,
  2. required Uint8List message,
  3. required int repeatCount}
)

通过视频帧发送 SEI 数据。

在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。

streamIndex 指定携带 SEI 数据的媒体流类型。
语音通话场景下,该值需设为 main,否则 SEI 数据会被丢弃从而无法送达远端。

message 是 SEI 消息内容,长度不超过 4KB。

repeatCount 是消息发送重复次数,取值范围是 [0, 30]。
调用此接口后,SEI 数据会添加到当前视频帧开始的连续 repeatCount 个视频帧中。

返回值:

  • >=0: 将被添加到视频帧中的 SEI 的数量
  • <0: 发送失败

注意:

  • 语音通话场景中,仅支持在内部采集模式下调用该接口发送 SEI 数据,且调用频率需为 15/repeatCount FPS。
  • 视频帧仅携带前后 2s 内收到的 SEI 数据;语音通话场景下,若调用此接口后 1min 内未有 SEI 数据发送,则 SDK 会自动取消发布视频黑帧。
  • 消息发送成功后,远端会收到 RTCVideoEventHandler.onSEIMessageReceived 回调。
  • 语音通话切换至视频通话时,会停止 SEI 数据发送,你需再次调用该接口方可恢复发送。

Implementation

Future<int?> sendSEIMessage({
  StreamIndex streamIndex = StreamIndex.main,
  required Uint8List message,
  required int repeatCount,
});